c程式設計[喬林著書籍]

c程式設計[喬林著書籍]

《c程式設計》是2009年清華大學出版社出版的圖書,作者是喬林。

內容簡介

本書內容包括C語言概述、數據類型與數據對象、運算與操作、基本程式結構、分支結構、循環結構、函式、算法、程式組織、數組、結構體與共用體、指針、字元串、檔案和鍊表。通過強調那些程式設計中起重要作用的思想與技術,使讀者體會並初步掌握實用程式的設計與開發能力。電腦程式設計基礎是高等學校計算機基礎課程中的核心課程。本書以C程式設計語言為基礎,注重講解程式設計與軟體開發的基本概念、方法和思路,培養讀者的基本編程能力、邏輯思維和抽象思維能力。

本書可作為高等院校計算機及理工類各專業、成人教育學院程式設計課程的教材,也可作為計算機套用開發人員及相關人員自學參考書。

編輯推薦

《C程式設計》可作為高等院校計算機及理工類各專業、成人教育學院程式設計課程的教材,也可作為計算機套用開發人員及相關人員自學參考書。

圖書目錄

第1章 C語言概述1

1.1 C語言簡介1

1.1.1 C語言歷史1

1.1.2 C語言特點1

1.2 C語言的關鍵字與標識符2

1.2.1 字元集2

1.2.2 標識符2

1.2.3 關鍵字3

1.2.4 預定義標識符3

1.3 C程式基本結構4

1.3.1 Hello World4

1.3.2 數據對象6

1.3.3 C程式的結構特點8

1.4 C程式開發流程9

1.4.1 頭檔案與源檔案的編輯9

1.4.2 源檔案的編譯9

1.4.3 目標檔案的連結10

1.4.4 程式調試與執行10

1.5 Turbo C 3.0上機環境與基本操作10

1.5.1 Turbo C 3.0上機環境簡介10

1.5.2 檔案的創建和保存11

1.5.3 源檔案的編輯13

1.5.4 編譯與連結13

1.5.5 程式的執行14

1.6 Visual C++ 6.0上機環境與基本操作15

1.6.1 Visual C++ 6.0上機環境簡介16

1.6.2 檔案的創建和保存16

1.6.3 源檔案的編輯17

1.6.4 編譯與連結17

1.6.5 程式的執行18

習題118第2章 數據類型與數據對象20

2.1 數據類型概述20

2.2 整數類型21

2.2.1 整數類型數據對象21

2.2.2 整數類型的取值範圍22

2.3 實數類型22

2.3.1 double類型的使用22

2.3.2 float類型的使用23

2.3.3 實數類型的取值範圍23

2.4 字元類型24

2.4.1 字元類型的取值範圍24

2.4.2 字元類型數據對象的使用25

2.5 常數25

2.5.1 文字常數26

2.5.2 符號常數28

2.6 變數30

2.6.1 變數的定義30

2.6.2 變數的使用30

2.6.3 變數的特徵31

2.6.4 變數的賦值31

2.6.5 變數的初始化33

2.7 常量33

2.8 用戶自定義類型34

2.8.1 枚舉類型34

2.8.2 typedef關鍵字35

習題236第3章 運算與操作37

3.1 表達式37

3.1.1 運算元37

3.1.2 操作符與表達式求值37

3.2 算術操作符38

3.2.1 基本算術操作符38

3.2.2 遞增遞減操作符38

3.3 賦值操作符39

3.3.1 賦值操作符與賦值表達式39

3.3.2 複合賦值表達式40

3.4 表達式求值41

3.4.1 表達式的一般求值規則41

3.4.2 操作符的優先權與結合性41

3.5 逗號操作符43

3.6 混合運算與類型轉換43

3.6.1 隱式類型轉換43

3.6.2 顯式類型轉換44

習題345第4章 基本程式結構46

4.1 語句與注釋46

4.1.1 簡單語句46

4.1.2 複合語句46

4.1.3 空語句47

4.1.4 注釋47

4.2 字元輸入輸出47

4.2.1 字元數據對象的輸出48

4.2.2 字元數據對象的輸入48

4.3 格式化輸出49

4.3.1 printf函式的基本用法49

4.3.2 格式描述符49

4.3.3 輸出精度與格式對齊51

4.4 格式化輸入55

4.4.1 scanf函式的基本用法55

4.4.2 取址操作符57

4.4.3 輸入時的場寬57

4.5 程式的順序結構58

4.5.1 順序結構示例58

4.5.2 條件表達式58

習題459第5章 分支結構61

5.1 邏輯值61

5.2 關係操作符與關係表達式61

5.2.1 關係操作符及其優先權61

5.2.2 關係表達式62

5.3 邏輯操作符與邏輯表達式62

5.3.1 邏輯操作符及其優先權63

5.3.2 邏輯表達式63

5.3.3 複雜邏輯表達式64

5.4 if分支結構65

5.4.1 簡單if分支結構65

5.4.2 if-else語句66

5.4.3 if-else if-else語句67

5.5 switch分支結構71

5.5.1 switch語句71

5.5.2 break語句73

5.6 分支結構的嵌套75

5.6.1 if與switch結構的互相嵌套75

5.6.2 if分支結構的多重嵌套75

習題577第6章 循環結構79

6.1 循環結構概述79

6.2 while循環80

6.2.1 while語句80

6.2.2 while循環示例80

6.3 for循環82

6.3.1 簡單for循環82

6.3.2 for循環與while循環的關係83

6.3.3 複雜for循環83

6.3.4 “更簡單的”for循環84

6.4 循環流程控制85

6.4.1 break語句85

6.4.2 continue語句86

6.5 循環嵌套87

6.6 程式結構化88

6.6.1 程式結構化的基本概念88

6.6.2 結構化程式設計的基本原則88

6.6.3 理解程式的整體思路89

6.6.4 自頂向下逐步求精89

習題690第7章 函式92

7.1 函式調用92

7.1.1 庫函式的調用方法92

7.1.2 函式原型93

7.2 函式定義94

7.2.1 函式定義的一般格式94

7.2.2 函式的返回值95

7.2.3 返回BOOL值的函式96

7.3 函式參數97

7.3.1 形式參數與實際參數97

7.3.2 參數傳遞機制98

7.3.3 函式調用棧框架100

7.3.4 函式的嵌套調用102

7.4 全局數據對象與局部數據對象102

7.4.1 局部數據對象102

7.4.2 全局數據對象103

7.4.3 靜態局部數據對象104

7.5 函式與程式模組化106

習題7107第8章 算法108

8.1 算法概述108

8.1.1 算法的基本概念108

8.1.2 算法的基本特徵109

8.2 算法描述110

8.2.1 偽代碼110

8.2.2 流程圖111

8.3 算法設計114

8.3.1 最大公約數問題115

8.3.2 素性判定問題116

8.4 算法效率117

8.4.1 最大公約數算法的效率117

8.4.2 素性判定算法的效率118

8.4.3 素性判定算法的除蟲任務119

8.4.4 效率!效率!120

8.5 遞歸算法121

8.5.1 遞歸函式的基本概念121

8.5.2 遞歸函式設計122

8.5.3 遞歸與循環123

8.5.4 漢諾塔問題124

8.5.5 遞歸算法設計的一般策略126

習題8128第9章 程式組織130

9.1 頭檔案與源檔案130

9.1.1 源檔案130

9.1.2 頭檔案131

9.1.3 頭檔案的包含方法131

9.1.4 頭檔案的包含測試132

9.2 工程項目檔案管理133

9.2.1 Turbo C環境下的工程檔案管理133

9.2.2 Visual C++環境下的工程檔案管理135

9.3 常用標準庫函式138

9.3.1 stdio庫138

9.3.2 math庫138

9.3.3 ctype庫140

9.3.4 stdlib庫142

9.4 作用域與生存期144

9.4.1 量的作用域與可見性145

9.4.2 量的存儲類與生存期146

9.4.3 靜態函式147

9.4.4 聲明與定義147

9.5 多檔案程式開發示例148

9.5.1 單檔案版本148

9.5.2 多檔案版本153

習題9157第10章 數組158

10.1 一維數組158

10.1.1 一維數組數據對象的定義158

10.1.2 一維數組的存儲表示159

10.1.3 一維數組數據對象的初始化159

10.2 數組元素操作160

10.2.1 數組元素的訪問160

10.2.2 數組元素的下標161

10.3 數組與函式162

10.3.1 一維數組作為函式參數162

10.3.2 數組參數傳遞規範165

10.4 多維數組167

10.4.1 多維數組數據對象的定義167

10.4.2 多維數組數據對象的初始化167

10.4.3 多維數組的存儲表示168

10.4.4 多維數組元素的訪問168

習題10170第11章 結構體與共用體171

11.1 結構體類型171

11.1.1 結構體類型的定義171

11.1.2 結構體類型的存儲布局172

11.1.3 結構體類型的嵌套173

11.2 結構體變數174

11.2.1 結構體變數的定義174

11.2.2 結構體變數的初始化175

11.3 結構體套用175

11.3.1 結構體成員的訪問175

11.3.2 結構體與數組177

11.3.3 結構體與函式178

11.4 庫與接口179

11.4.1 有理數庫180

11.4.2 接口設計原則184

11.5 共用體184

11.5.1 共用體的基本概念184

11.5.2 共用體成員的存儲185

11.5.3 結構體與共用體的嵌套186

習題11188第12章 指針189

12.1 指針變數189

12.1.1 地址與值189

12.1.2 指針變數的定義190

12.1.3 指針變數的初始化190

12.1.4 指針值NULL191

12.1.5 指針數據對象與目標數據對象的訪問191

12.1.6 指針類型194

12.2 指針與函式195

12.2.1 指針作為函式參數195

12.2.2 指針與常量197

12.2.3 指針與函式返回值199

12.3 指針操作199

12.3.1 數據對象地址的計算199

12.3.2 指針加減操作200

12.3.3 指針遞增遞減操作201

12.3.4 指針關係操作202

12.4 指針與數組203

12.4.1 指針作為函式參數203

12.4.2 指針與數組的可互換性206

12.4.3 多維數組作為函式參數207

12.5 函式指針208

12.5.1 函式指針的基本概念208

12.5.2 函式指針類型209

12.5.3 函式指針的使用方法210

12.5.4 void類型210

12.6 查找與排序211

12.6.1 排序211

12.6.2 查找214

習題12216

第13章 字元串218

13.1 字元數組218

13.1.1 字元數組的定義218

13.1.2 字元數組的初始化218

13.1.3 字元數組的內部表示219

13.2 字元指針220

13.2.1 字元指針的定義與初始化220

13.2.2 字元指針的內部表示221

13.2.3 字元'\\0'222

13.2.4 字元指針與字元數組的差異223

13.3 字元串與函式223

13.3.1 字元串作為函式參數223

13.3.2 字元串作為函式返回值225

13.4 字元串庫226

13.4.1 字元串的長度226

13.4.2 字元串的複製與合併227

13.4.3 字元串的比較228

13.4.4 字元串的查找229

13.5 動態存儲管理229

13.5.1 記憶體分配概述229

13.5.2 動態記憶體分配230

13.5.3 動態記憶體釋放231

習題13232第14章 檔案233

14.1 檔案的基本概念233

14.1.1 什麼是檔案233

14.1.2 檔案類型233

14.1.3 檔案指針234

14.2 檔案函式234

14.2.1 fopen函式234

14.2.2 fclose函式235

14.2.3 feof函式與EOF宏236

14.2.4 ferror函式236

14.2.5 fflush函式與fflushall函式237

14.2.6 fseek函式237

14.2.7 ftell函式238

14.2.8 rewind函式238

14.2.9 訪問檔案的基本策略238

14.3 面向字元的檔案讀寫操作238

14.3.1 fputc函式與fgetc函式238

14.3.2 面向字元的檔案讀寫舉例239

14.4 面向文本行的檔案讀寫操作240

14.4.1 fputs函式與fgets函式240

14.4.2 面向文本行的檔案讀寫舉例241

14.5 格式化信息的檔案讀寫操作241

14.5.1 fprintf函式241

14.5.2 fscanf函式242

14.6 面向信息塊的檔案讀寫操作244

14.6.1 fwrite函式與fread函式244

14.6.2 面向信息塊的檔案讀寫舉例246

習題14248第15章 鍊表249

15.1 指針與結構體249

15.1.1 指針作為結構體的成員249

15.1.2 指向結構體的指針251

15.2 鍊表概述252

15.2.1 鍊表的基本概念252

15.2.2 鍊表與鍊表結點的表示253

15.2.3 鍊表基本操作集256

15.3 鍊表的創建與銷毀257

15.3.1 鍊表的創建257

15.3.2 鍊表的銷毀258

15.4 結點的插入與刪除259

15.4.1 結點的插入操作259

15.4.2 結點的刪除操作261

15.5 鍊表的遍歷262

15.5.1 鍊表結點數據的輸出操作262

15.5.2 使用函式指針實現鍊表遍歷263

15.5.3 鍊表庫套用264

習題15266

參考文獻268

相關詞條

熱門詞條

聯絡我們